/*
 * ItemEstoqueProdutoDao.java
 * 
 * Created on 08/10/2007, 07:34:24
 * 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package tcc.dao.estoque;

import java.io.Serializable;
import java.util.List;
import javax.persistence.Query;
import tcc.dao.AbstractDao;
import tcc.dao.Criteria;
import tcc.domain.estoque.produto.ItemEstoqueProduto;
import tcc.domain.produto.Produto;
import tcc.util.PersistenceUtil;

public class ItemEstoqueProdutoDao extends AbstractDao{
       
    public void delete(ItemEstoqueProduto o) {
        super.delete(o);
    }

    
    public List<ItemEstoqueProduto> find(Criteria c) {
        return super.find(ItemEstoqueProduto.class, c);
    }

    public List<ItemEstoqueProduto> findAll() {
    return find(null);
    }
    
    public ItemEstoqueProduto findById(Serializable id) {
        return super.findById(ItemEstoqueProduto.class, id);
    }

    public  ItemEstoqueProduto findByProduto(Produto prod) {
        String queryString = new StringBuilder("from ")
                .append(ItemEstoqueProduto.class)
                .append(" where produto = :prod")
                .toString();
        
        Query q = PersistenceUtil.getInstance().getEntityManager().createQuery(queryString);
        q.setParameter("prod", prod);
        
        return (ItemEstoqueProduto) q.getSingleResult();
        
    }

    @Override
    protected void save(Object o) {
        super.save(o);
    }

}
